﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using ModuleDALCore;
using System.Data;
namespace DAL
{
	public class NHANVIENDAO:DALBase
	{
		public NHANVIENDAO()
		{
			this.OpenConnect();
		}
		private DataTable dt;
		private string _SpName;

		public string SpName
		{
			get { return "SPNHANVIENW"; }
			set { _SpName = value; }
		}
		public List<NHANVIEN> GetDSBSI()
		{
			dt = new DataTable();
		
			List<NHANVIEN> ds = new List<NHANVIEN>();
			try
			{

				dt = DBManager.Intance.ExecuteDataTable(SpName, ConvertClassToArray.GetParamName(new NHANVIEN(), null), ConvertClassToArray.GetValues(new NHANVIEN(),1));
				ds = (List<NHANVIEN>)ConvertDatatableToList.ConvertTo<NHANVIEN>(dt);
			}
			catch { }
			return ds;
		}
		public DataTable GETLISTSNNHANVIEN()
		{
			dt = new DataTable();
			try
			{

				dt = DBManager.Intance.ExecuteDataTable(SpName, ConvertClassToArray.GetParamName(new NHANVIEN(), null), ConvertClassToArray.GetValues(new NHANVIEN(), 9));
			}
			catch { }
			return dt;
		}
		public List<NHANVIEN> GetTROTHU()
		{
			dt = new DataTable();

			List<NHANVIEN> ds = new List<NHANVIEN>();
			try
			{

				dt = DBManager.Intance.ExecuteDataTable(SpName, ConvertClassToArray.GetParamName(new NHANVIEN(), null), ConvertClassToArray.GetValues(new NHANVIEN(),2));
				ds = (List<NHANVIEN>)ConvertDatatableToList.ConvertTo<NHANVIEN>(dt);
			}
			catch { }
			return ds;
		}
		public List<NHANVIEN> GetALL()
		{
			dt = new DataTable();

			List<NHANVIEN> ds = new List<NHANVIEN>();
			try
			{

				dt = DBManager.Intance.ExecuteDataTable(SpName, ConvertClassToArray.GetParamName(new NHANVIEN(), null), ConvertClassToArray.GetValues(new NHANVIEN(), 3));
				ds = (List<NHANVIEN>)ConvertDatatableToList.ConvertTo<NHANVIEN>(dt);
			}
			catch {  }
			return ds;
		}
		public List<NHANVIEN> Find(NHANVIEN nv)
		{
			dt = new DataTable();

			List<NHANVIEN> ds = new List<NHANVIEN>();
			try
			{

				dt = DBManager.Intance.ExecuteDataTable(SpName, ConvertClassToArray.GetParamName(nv, null), ConvertClassToArray.GetValues(nv, 4));
				ds = (List<NHANVIEN>)ConvertDatatableToList.ConvertTo<NHANVIEN>(dt);
			}
			catch {  }
			return ds;
		}
		public String CreatenewId()
		{
			try
			{
				return "NV" + DBManager.Intance.ExecuteNonQuery(SpName, ConvertClassToArray.GetParamName(new NHANVIEN(), null), ConvertClassToArray.GetValues(new NHANVIEN(), 8));

			}
			catch { return null; }
		}
		public bool INSERT(NHANVIEN cv)
		{

			try
			{
				return (DBManager.Intance.ExecuteNonQuery(SpName, ConvertClassToArray.GetParamName(cv, null), ConvertClassToArray.GetValues(cv, 5)) == 1);

			}
			catch { return false; }
		}
		public bool UPDATE(NHANVIEN cv)
		{

			try
			{
				return (DBManager.Intance.ExecuteNonQuery(SpName, ConvertClassToArray.GetParamName(cv, null), ConvertClassToArray.GetValues(cv, 6)) == 1);

			}
			catch { return false; }
		}
		public bool DELETE(NHANVIEN cv)
		{

			try
			{
				return (DBManager.Intance.ExecuteNonQuery(SpName, ConvertClassToArray.GetParamName(cv, null), ConvertClassToArray.GetValues(cv, 7)) == 1);

			}
			catch { return false; }
		}
	}
}